home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XCXREF - A 'C' Concordance Utility
- ========================================
-
- 'XCXREF' is a cross-reference utility for 'C' programs. It
- is derived from another program named 'XC' developed as indicat-
- ed below.
-
- Option flags support the following features:
-
- - Routing of list output to any combination of disk, printer
- and video.
- - Cross-referencing of reserved words.
- - Processing of nested include files.
- - Proper processing of nested comments.
- - Generation of program listing only.
- - Variable output page width.
- - Indirect and direct file name input.
- - Alternate path direction.
-
- Usage: xcxref <filename> ... <flag(s)>
-
- All files selected are cross-referenced together. The variable
- listing will show every occurance, for example, of 'var' in
- every file.
-
- Flags: -e = Write program data to log file.
- -g = Ignore missing files.
- -i = Enable #include processing.
- -l = Generate listing only - no xref.
- -o <outfile> = Write output to named file.
- -p = Write output to line printer LPT1.
- -r = Cross-reference 'C' reserved words.
- -s = Write output to video screen.
- -w width = Width of output page; default = 78
- max = 150.
- Flags MUST FOLLOW all input file names.
-
- Separate any flag parameters from the flag by at least
- one space.
-
- Examples:
-
- xcxref file1.c
-
- xcxref main.c file1.c file2.c file3.c -o xref.lst -w 120
-
- xcxref @xfile file3.c file4.c -o xref.lst -w 120
- xfile contains... file1.c file2.c
-
-
- History:
-
- XC - version 1.0 January, 1982
- Copyright (c) 1982 by Philip N. Hisley
-
- Philip N. Hisley
- 548H Jamestown Court
- Edgewood, Maryland 21040
- (301) 679-4606
- Released for non-commercial distribution only
-
- Converted to IBM/PC CI/C86 by David N. Smith,
- May/June 1983 with enhancements and Lattice compiler
- support in December 1983.
-
- David N. Smith
- 44 Ole Musket Lane
- Danbury, CT 06810
- (203) 748-5934
- CompuServe: 73145,153
- Changes Copyright (c) 1983 by David N. Smith
- Permission granted to copy for non-commercial purposes.
-
- PC Enhancements include:
- 1) Nested #INCLUDE statements
- 2) Single spaced cross-reference list
- 3) Removal of tabbing on output device
- (Since many printers don't support it)
- 4) #INCLUDE statements with both "--" and <-->
- syntax and with a full fileid in the quotes.
- (Paths are not supported.)
- 5) Multiple input filenames on command line.
-
- The current PC version only supports Lattice.
- Conversion to others should be relatively easy but see
- the compile time variable "Lattice" for compiler specific
- sections.
-
- XCXREF - Version 1.0; May, 1990
-
- Martin D. Winnick
- 5301 El Arbol Drive
- Carlsbad, CA 92008
- (619) 438-8154
- CompuServe: 71665,456
- Changes Copyright (c) 1990 by Martin D. Winnick.
- Permission granted to copy for non-commercial purposes.
-
- The following is a brief summary of the XCXREF changes:
-
- Converted to IBM/PC Microsoft QuickC. Program renamed
- to 'XCXREF' due to extensive code and functional
- changes.
-
- The source code has been reformatted into a more read-
- able style, variable names have been changed to a
- meaningful word rather than a coded acronym and the
- program modified (I hope) to conform to the new ANSI
- standards. Additional comments have been added where I
- felt they were needed. Dead code has been removed,
- including all conditional compilation code.
-
- The number of referenced symbols raised to 5000 from 749.
- Although this is still a memory bounded program for the
- cross reference data. I have tested it on an IBM PC/XT,
- 640KB, CGA, 30MB hard disk. The largest cross reference
- I have tried included 15+ programs consisting of 30,000
- lines of code, producing 350+ output pages with 2000+
- referenced symbols.
-
- The accompanying xc.exe is compiled as a 'compact'
- model. This or any other large data model is necessary
- to accomodate the increased number of symbol references.
-
- Command line Flags usage:
- -e = Write program data to log file
- Key program variable data will be written to a log
- file, XCXREF.LOG, in the event of either a recoverable
- error condition or abnormal error program exit. Any
- partial cross reference created to the abnormal exit
- is retained. Upon a successful program completion the
- ending values of these program variables will also be
- written to the log file.
-
- -g = Ignore missing files
- If this flag is not entered any file selected and not
- found by the program will cause termination of the
- process. If it is entered the not-found condition will
- be ignored, a message will be displayed, and processing
- will continue with the next file.
-
- -i = Enable #include processing
- If this flag is not entered all #include files will be
- ignored, a message will be displayed, and processing
- will continue.
-
- -l = Generate listing only - no xref
- The program(s) will be listed to the output types
- specified. No cross reference will be created.
-
- -o <outfile> = Write output to named file
- All program output will be written to the named disk
- file. This may be in addition to other types of pro-
- gram output such as the printer and video screen. Do
- not enclose the file name in the '<>' brackets.
-
- -p = Write output to line printer LPT1
- The -p command line flag will direct the program and
- crossreference listing to the line printer, LPT1. This
- is in addition to any other directed output. Printing
- is accomplished by direct calls to the operating system
- BIOS. This has the (undesirable ?) side effect of
- tying this version to PCs using MS/PC-DOS.
-
- It is suggested that when using this option that you
- set '-w 132' on the command line and set your printer
- to condensed, 17.5 CPI, print mode. The program in-
- serts two index numbers at the beginning of each print
- line. These and long coded lines may cause the print
- lines to be 'folded' making the listing difficult to
- read.
-
- -r = Cross-reference 'C' reserved words
- 'C' reserved words are normally ignored. This option
- will cause them to be treated as normal variables and
- they will be included in the cross reference.
-
- -s = Write output to video screen
- The -s command line flag will direct the program and
- crossreference listing to the video screen. This is in
- addition to any other directed output. Display is
- accomplished by direct calls to the operating system
- BIOS. This has the (undesirable ?) side effect of
- tying this version to PCs using MS/PC-DOS.
-
- -w width = Width of output page; default = 78
- max = 150
- This option defines the width of a 'page' output line.
- This is used for all three output media.
-
- Command line Program name usage:
- The programs to be cross referenced may be entered on
- the command line with the option flags or in an indi-
- rect reference list file or a combination of these two
- methods.
-
- If the first character of a file name on the command
- line is an @ it is a reference to an ASCII file con-
- taining a list of file names. The program when it
- encounters this will then get the program names, and
- any additional paths from that file. On file EOF
- XCXREF will return to the command line.
-
- NOTE: The first character of any file name in a list
- file CANNOT be an @.
-
- A sample @file is included with this package.
-
- In addition, the indirect file may contain up to four
- alternate path designations for use in locating pro-
- grams entered.
-
- Each is expected as '#qpathn <dr:\path\path\>', the 'n'
- may be 1 - 4. There must be a space before the '<' and
- the actual path must be enclosed in the "<>" brackets.
- These may be anywhere in the file. They will become
- effective when encountered.
-
- Qpaths may only be entered via the indirect list file,
- they cannot be entered on the command line. Once
- entered the path will be retained unless cleared or
- reentered.
- To clear an alternate path enter as #qpathn <>.
-
- Program names are expected to be without any path
- designation. They are normally expected to be in the
- default logged directory. If a program is not found
- there then the four alternate paths, if any, are tried
- in sequence. If the program is still not found it is
- processed according to the -g option flag.
-
- If a fully qualified program name is entered it will
- override the the use of the default and alternate
- paths. If it is not found these other paths will NOT
- be tried.
-
-
-
-